<?php
/**
 * Zend Framework
 *
 * LICENSE
 *
 * This source file is subject to the new BSD license that is bundled
 * with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://framework.zend.com/license/new-bsd
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@zend.com so we can send you a copy immediately.
 *
 * @category   Zend
 * @package    Zend_DataGrid
 * @subpackage Renderer
 * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 * @version    $Id: Csv.php 8862 2008-09-11 15:36:00Z azoungrana $
 */


/** @see Zend_DataGrid_Renderer */
require_once 'Zend/DataGrid/Renderer.php';


/**
 * Zend_DataGrid_Renderer_Csv
 *
 * This renderer generates Csv files
 *
 * @category   Zend
 * @package    Zend_DataGrid
 * @subpackage Renderer
 * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */
class Zend_DataGrid_Renderer_Csv extends Zend_DataGrid_Renderer
{
    protected $_options = array('showFooter' => true,
                                'showHeader' => true,
                                'defaultCellValue' => null,
                                'defaultColumnValues' => array(),
                                'delimiter' => ',',
                                'enclosure' => '"',
                                'encoding' => 'ISO-8859-1',
                                'excludeVars' => array(),
                                'extraVars' => array(),
                                'filename' => false,
                                'fillWithEmptyRows' => false,
                                'hideColumnLinks' => false,
                                'lineBreak' => '\n',
                                'numberAlign' => true,
                                'saveToFile' => false,
                                'targetEncoding' => '',
                                'useQuotes' => 'auto',
                                'writeMode' => 'wb' );

    /**
     * Whether to build the header
     *
     * @param boolean $value
     */
    public function setShowHeader($value) {}

    /**
     * Whether to build the footer.
     *
     * @param boolean $value
     */
    public function setShowFooter($value) {}


    /**
     * What value to put by default into empty cells.
     *
     * @param boolean $value
     */
    public function setDefaultCellValue($value) {}

    /**
     * Per-column default cell value. This is an array of the form: array(fieldName => value, ...).
     *
     * @param array $value
     */
    public function setDefaultColumnValues(array $value) {}

    /**
     * Field delimiter
     *
     * @param string $value
     */
    public function setDelimiter($value) {}

    /**
     * Field enclosure
     *
     * @param sting $value
     */
    public function setEnclosure($value) {}

    /**
     * The content encoding. If the mbstring extension is present the default value is set from mb_internal_encoding(), otherwise it is ISO-8859-1.
     *
     * @param string $value
     */
    public function setEncoding($value) {}

    /**
     * Variables to be removed from the generated HTTP queries.
     *
     * @param array $value
     */
    public function setExcludeVars(array $value) {}

    /**
     * Filename of the generated CSV file; boolean false means that no filename will be sent
     *
     * @param string $value
     */
    public function setFilename($value) {}

    /**
     * Ensures that all pages have the same number of rows.
     *
     * @param boolean $value
     */
    public function setFillWithEmptyRows($value) {}

    /**
     * By default sorting links are enabled on all columns. With this option it is possible to disable sorting
     * links on specific columns. This is an array of the form: array(fieldName, ...).
     * This option only affects drivers that support sorting.
     *
     * @param array $value
     */
    public function setHideColumnLinks(array $value) {}

    /**
     * The character(s) to use for line breaks
     *
     * @param string $value
     */
    public function setLineBreak($value) {}

    /**
     * Whether to right-align numeric values.
     *
     * @param boolean $value
     */
    public function setNumberAlign($value) {}

    /**
     * Whether the output should be saved on the local filesystem. Please note that
     * the 'filename' option must be given if this option is set to true.
     *
     * @param boolean $value
     */
    public function setSaveToFile($value) {}

    /**
     * If set, the content will be converted from encoding to targetEncoding.
     * A BOM will also be added, if relevant. See PHP mbstring documentation for encoding names. Tip: for Excel use 'UTF-16LE'.
     *
     * @param string $value
     */
    public function setTargetEncoding($value) {}

    /**
     * Whether or not to encapsulate the values with the enclosure value. true: always, false: never, 'auto': when needed
     *
     * @param mixed $value
     */
    public function setUseQuotes($value) {}

    /**
     * 	The mode that is used in the internal fopen() calls. Useful e.g. when you want to append
     * to existing file. C.p. the fopen() documentation for the allowed modes.
     *
     * @param string $value
     */
    public function setWriteMode($value) {}

}
